Robot system and method of controlling the robot system

ABSTRACT

A robot system includes a slave unit including a slave arm having a working end, a slave arm actuator configured to drive the slave arm, and a slave-side controller configured to control the slave arm actuator based on a slave operating command for defining a target position of the working end, a master unit including a master arm having a manipulation end into which the content of manipulation is inputted by an operator, and a system controller configured to generate the slave operating command based on the content of manipulation inputted into the manipulation end. When a command corresponding to the content of manipulation is a command corresponding to a limit equivalent range corresponding to a limit of operation of at least one of the slave arm and the master arm, the system controller performs processing to give perception to the operator.

TECHNICAL FIELD

The present disclosure relates to a robot system and a method ofcontrolling the robot system.

BACKGROUND ART

Conventionally, a master-slave manipulator and a method of controllingthe same are known.

For example, Patent Document 1 discloses a master-slave manipulatorwhich, when a reaction force measured by a force sensor exceeds a targetforce value set beforehand, inhibits operation of a slave arm so thatthe slave arm does not follow operation of a master arm in a forcecontrolling direction set beforehand. The force controlling direction isa direction set substantially in agreement with a normal direction of awork object, and is a direction toward the work object and a directionaway from the work object. The slave arm is operated by a force controlso that the target force value set beforehand becomes equal to thereaction force measured by the force sensor.

Moreover, Patent Document 2 discloses a master-slave manipulator havinga slave arm which follows the shape of a master arm so that the shape ofthe slave arm becomes similar to the shape of the master arm, byoperating the master arm. A contact is provided to the master arm, andthis contact contacts a position regulating member to regulate anoperating range of the master arm.

REFERENCE DOCUMENTS OF CONVENTIONAL ART Patent Documents

-   [Patent Document 1] JP1996-281573A-   [Patent Document 2] JP1995-124876A

DESCRIPTION OF THE DISCLOSURE Problems to be Solved by the Disclosure

However, according to the master-slave manipulator disclosed in PatentDocument 1, for example, in a case where the slave arm is in contactwith a hard work object, when an operator tries to forcibly move themaster arm in a direction corresponding to a direction of the slave armmoving toward the work object, an excessive load is applied to themaster arm, and therefore, the force sensor or the master arm may bedamaged.

Moreover, according to the master-slave manipulator disclosed in PatentDocument 2, when the slave arm contacts a workpiece, it cannot notifythe operator about the contact. It may be difficult for the operator todistinguish whether the slave arm contacts the workpiece and operationof the slave arm is regulated, or the contact contacts the positionregulating member and the operating range of the master arm isregulated.

One purpose of the present disclosure is to provide a robot system and amethod of controlling the robot system, which enables the operator toperceive an operating limit of at least one of a master arm and a slavearm.

SUMMARY OF THE DISCLOSURE

In order to achieve the purpose, a robot system according to one aspectof the present disclosure includes a slave unit including a slave armhaving a working end, a slave arm actuator configured to drive the slavearm, and a slave-side controller configured to control the slave armactuator based on a slave operating command for defining a targetposition of the working end, a master unit including a master arm havinga manipulation end into which the content of manipulation is inputted byan operator, and a system controller including a slave operating commandgenerating module configured to generate the slave operating commandbased on the content of manipulation inputted into the manipulation end.When a command corresponding to the content of manipulation is a commandcorresponding to a limit equivalent range corresponding to a limit ofoperation of at least one of the slave arm and the master arm, thesystem controller performs processing to give perception to theoperator.

EFFECT OF THE DISCLOSURE

According to the present disclosure, it is possible to enable theoperator to perceive the limit of operation of at least one of themaster arm and the slave arm.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a view schematically illustrating one example of aconfiguration of a robot system according to Embodiment 1.

FIG. 2 is a block diagram schematically illustrating one example of aconfiguration of a control system of the robot system of FIG. 1.

FIG. 3 is a flowchart illustrating one example of operation of the robotsystem of FIG. 1.

FIG. 4 is a block diagram schematically illustrating one example of aconfiguration of a control system of a robot system according toModification 1 of Embodiment 1.

FIG. 5 is a block diagram schematically illustrating one example of aconfiguration of a control system of a robot system according toEmbodiment 2.

FIG. 6 is a view illustrating one example of setting of an operatingrange, an entering prohibited range, and a notifying range set by anotifying range setting module of the robot system according toEmbodiment 2.

FIG. 7 is a view illustrating one example of operation of the robotsystem according to Embodiment 2.

FIG. 8 is a view illustrating one example of operation of the robotsystem according to Embodiment 2.

FIG. 9 is a block diagram schematically illustrating one example of aconfiguration of a control system of a robot system according toModification 2 of Embodiment 2.

MODES FOR CARRYING OUT THE DISCLOSURE

First, one example of each aspect of the present disclosure isdescribed. A robot system according to one aspect of the presentdisclosure includes a slave unit including a slave arm having a workingend, a slave arm actuator configured to drive the slave arm, and aslave-side controller configured to control the slave arm actuator basedon a slave operating command for defining a target position of theworking end, a master unit including a master arm having a manipulationend into which the content of manipulation is inputted by an operator,and a system controller including a slave operating command generatingmodule configured to generate the slave operating command based on thecontent of manipulation inputted into the manipulation end. When thecommand corresponding to the content of manipulation is a commandcorresponding to a limit equivalent range corresponding to a limit ofoperation of at least one of the slave arm and the master arm, thesystem controller performs processing to give perception to theoperator.

According to this aspect, the robot system can notify the operator,through the giving of perception, that the command corresponding to thecontent of manipulation is the command corresponding to the limitequivalent range. Thus, the robot system can enable the operator toperceive the limit of operation of at least one of the master arm andthe slave arm.

In the robot system according to one aspect of the present disclosure,the slave unit may further include a slave-side force detectorconfigured to detect a direction and a magnitude of a reaction forceacting on the working end or a workpiece held by the working end. Themaster unit may further include a master-side force detector configuredto detect a direction and a magnitude of an operating force applied bythe operator to the manipulation end as the content of manipulation, amaster arm actuator configured to drive the master arm, and amaster-side controller configured to control the master arm actuatorbased on a master operating command for defining a target position ofthe manipulation end. The system controller may generate, based on theoperating force and the reaction force, the slave operating command andthe master operating command for moving the manipulation end in a movingdirection corresponding to a moving direction of the working end of theslave operating command. When the system controller determines that themagnitude of the operating force is included in a range exceeding afirst threshold as the limit equivalent range, the system controller maygenerate the master operating command for moving the manipulation end inthe direction of the operating force.

According to this aspect, the robot system can inform the operator,through the master arm, that the magnitude of the operating forceexceeds the given first threshold, and can inform the operator that themaster arm is overloaded. Moreover, the robot system can reduce the loadon the master arm and the master-side force detector by moving themanipulation end in the direction in which the operator applied theforce. Therefore, the damage to the master arm and the master-side forcedetector can be prevented. As a result, it can be prevented that theoperator breaks the master arm.

In the robot system according to one aspect of the present disclosure,the system controller may generate the master operating command forincreasing a change in a moving velocity of the manipulation end as theoperating force increases.

According to this aspect, the robot system can guide the operator abouthow much the operating force is to be weakened, and thus, the operatorcan be guided so as to appropriately weaken the operating force.Moreover, as the magnitude of the operating force increases, themanipulation end moves more quickly in the direction in which theoperator applied the force. Therefore, the load on the master arm andthe master-side force detector can be reduced more appropriately, andthe damages to the master arm and the master-side force detector can beprevented more appropriately.

In the robot system according to one aspect of the present disclosure,the system controller may include an operating mode setting moduleconfigured to set an operating mode to one of a plurality of operatingmodes including a normal operating mode and an informing operating mode,a slave operating command generating module configured to generate theslave operating command based on the operating force and the reactionforce, a first temporary master operating command generating moduleconfigured to generate a first temporary master operating command formoving the manipulation end in a moving direction corresponding to amoving direction of the working end of the slave operating command basedon the operating force and the reaction force, a second temporary masteroperating command generating module configured to generate a secondtemporary master operating command based on the operating force, and amaster operating command setting module configured to set the firsttemporary master operating command to the master operating command inthe normal operating mode, and set the second temporary master operatingcommand to the master operating command in the informing operating mode.When the operating mode setting module determines that the magnitude ofthe operating force is included in a range exceeding the firstthreshold, the operating mode setting module may set the operating modeto the informing operating mode.

According to this aspect, the robot system can appropriately inform theoperator through the master arm by changing the operating mode from thenormal operating mode to the informing operating mode. Moreover, therobot system can stop the slave arm as well as appropriately change theoperation of the slave arm based on the operating force and reactionforce detected by the detector, regardless of the set operating mode.Therefore, the robot system can avoid that the operation of the masterarm upon informing the operator affects the operation of the slave arm,and as a result, it can appropriately inform the operator. In addition,since the robot system can change the operating mode automatically, anemergency stop for protecting the system can be avoided.

In the robot system according to one aspect of the present disclosure,the plurality of operating modes may further include a resumingoperating mode. The system controller may further include a thirdtemporary master operating command generating module configured togenerate a third temporary master operating command for moving themanipulation end toward the target position of the manipulation enddefined by the first temporary master operating command. The masteroperating command setting module may further set the third temporarymaster operating command to the master operating command in the resumingoperating mode. When the operating mode setting module determines thatthe magnitude of the operating force is included in a range of a givensecond threshold or below in a state where the operating mode is set tothe informing operating mode, the operating mode setting module may setthe operating mode to the resuming operating mode.

According to this aspect, after informing the operator, the robot systemcan move the manipulation end so that the manipulation end and theworking end have a given correlation.

In the robot system according to one aspect of the present disclosure,when the operating mode setting module determines that the manipulationend is located at the target position of the first temporary masteroperating command in a state where the operating mode is set to theresuming operating mode, the operating mode setting module may set theoperating mode to the normal operating mode.

According to this aspect, the robot system can resume the manipulationend and the working end to the state where they operate synchronizedlyhaving the given correlation. Moreover, it can resume the mode to thenormal operating mode automatically so that the interruption of the workcan be avoided.

In the robot system according to one aspect of the present disclosure,the system controller may include a converting module configured tocalculate a target velocity vector based on the operating force and thereaction force, and a subconverting module configured to calculate atemporary target velocity vector based on the operating force. The slaveoperating command generating module may generate the slave operatingcommand based on the target velocity vector. The first temporary masteroperating command generating module may generate the first temporarymaster operating command based on the target velocity vector. The secondtemporary master operating command generating module may generate thesecond temporary master operating command based on the temporary targetvelocity vector.

According to this aspect, in the robot system of a bilateral controlsystem, the informing the operator can be performed appropriately.

The robot system according to one aspect of the present disclosure mayfurther include an informing part configured to perform a notificationby using sense information perceivable by the operator's perception. Themaster unit may further include a master-side force detector configuredto detect a direction and a magnitude of an operating force applied bythe operator to the manipulation end as the content of manipulation.When the system controller determines that the magnitude of theoperating force is included in a range exceeding a third threshold asthe limit equivalent range, the system controller may control theinforming part to perform the notification to the operator.

According to this aspect, the robot system can inform the operator thatthe magnitude of the operating force exceeds the first threshold, andcan inform the operator that the master arm is overloaded. As a result,it can be prevented that the operator breaks the master arm.

In the robot system according to one aspect of the present disclosure,the system controller may control the informing part so that anintensity of the sense information becomes stronger as the operatingforce becomes larger.

According to this aspect, the robot system can guide the operator abouthow much the operating force is to be weakened, and thus, the operatorcan be guided so as to appropriately weaken the operating force.

The robot system according to one aspect of the present disclosure mayfurther include an informing part configured to perform a notificationby using sense information perceivable by the operator's perception.When the system controller determines that the target position of theworking end of the slave operating command is located in a notifyingrange as the limit equivalent range, that is a range spreading from alimit of a given operating range to the operating range side, the systemcontroller may control the informing part to perform the notification tothe operator.

According to this aspect, the robot system can notify the approaching ofthe working end to the limit of the operating range through theperception of the operator. Therefore, the operator can easilydistinguish whether the working end contacts the workpiece, or whetherthe working end approaches the limit of the operating range or near thelimit, and the work efficiency can be improved.

In the robot system according to one aspect of the present disclosure,the system controller may control the informing part so that anintensity of the sense information becomes stronger as a distancebetween the target position of the working end of the slave operatingcommand and the limit of the operating range becomes smaller.

According to this aspect, the robot system can guide the operator aboutthe distance to the limit of the operating range.

In the robot system according to one aspect of the present disclosure,the slave unit may further include a slave-side force detectorconfigured to detect a direction and a magnitude of a reaction forceacting on the working end or a workpiece held by the working end. Themaster unit may further include a master-side force detector configuredto detect a direction and a magnitude of an operating force applied bythe operator to the manipulation end as the content of manipulation, amaster arm actuator configured to drive the master arm, and amaster-side controller configured to control the master arm actuatorbased on a master operating command. The system controller may generate,at every given control period, the slave operating command for definingthe target position of the working end and the master operating commandfor defining a target position of the manipulation end so that thetarget position of the slave operating command and the target positionof the master operating command have a given correlation. When thesystem controller determines that the target position of the working endof the slave operating command is located in a notifying range as thelimit equivalent range, that is a range spreading from a limit of agiven operating range to the operating range side, the system controllermay generate the master operating command to change the operation of themanipulation end.

According to this aspect, the robot system can notify the approaching ofthe working end to the limit of the operating range through an innerforce sense of the operator. Therefore, the operator can easilydistinguish whether the working end contacts the workpiece, or whetherthe working end approaches the limit of the operating range or near thelimit, and the work efficiency can be improved.

In the robot system according to one aspect of the present disclosure,when the system controller determines that the target position of theworking end of the slave operating command is located in the notifyingrange, the system controller may set a repulsive force acting on theworking end in a direction separating from the limit of the operatingrange, and generate the master operating command based on a resultantforce of the operating force, the reaction force, and the repulsiveforce in a subsequent control period.

According to this aspect, the robot system can notify the operator bythe repulsive force about the approaching to the limit of the operatingrange. Moreover, based on the direction of the repulsive force, therobot system can appropriately guide the operator about the directionseparating from the boundary.

In the robot system according to one aspect of the present disclosure,the system controller may set the repulsive force so that a magnitude ofthe repulsive force becomes larger as a distance between the targetposition of the working end of the slave operating command and the limitof the operating range becomes smaller.

According to this aspect, the robot system can guide the operator aboutthe distance to the limit of the operating range.

In the robot system according to one aspect of the present disclosure,the system controller may further include a notifying range settingmodule configured to set the notifying range, a repulsive force settingmodule configured to set the repulsive force, when the repulsive forcesetting module determines that the target position of the working end ofthe slave operating command is located in the notifying range, aconverting module configured to calculate a target velocity vector basedon a resultant force of the operating force, the reaction force, and therepulsive force, a slave operating command generating module configuredto generate the slave operating command based on the target velocityvector, and a master operating command generating module configured togenerate the master operating command based on the target velocityvector.

According to this aspect, in the robot system of a bilateral controlsystem, the robot system can appropriately notify the operator about theapproaching to the limit of the operating range.

A method of controlling a robot system according to one aspect of thepresent disclosure is a method of controlling a robot system providedwith a slave arm and a master arm. The method includes the step ofoutputting a slave operating command for defining a target position of aworking end of the slave arm to a slave-side controller configured tocontrol an actuator of the slave arm based on the slave operatingcommand, based on the content of manipulation inputted into amanipulation end of the master arm. The method includes the step of,when the command generated corresponding to the content of manipulationis a command corresponding to a limit equivalent range corresponding toa limit of operation of at least one of the slave arm and the masterarm, performing processing for giving perception to an operator whoinputs the content of manipulation into the manipulation end. Accordingto this aspect, the similar effect to the robot system according to oneaspect of the present disclosure can be obtained.

The method of controlling the robot system according to one aspect ofthe present disclosure may further include the steps of receiving adetected result of a direction and a magnitude of a reaction forceacting on the working end or a workpiece held by the working end,receiving a detected result of a direction and a magnitude of anoperating force applied by the operator to the manipulation end, as thecontent of manipulation, determining the target position of the workingend based on the detected operating force and reaction force,determining a target position of the manipulation end based on thedetected operating force and reaction force, and outputting a masteroperating command for defining the target position of the manipulationend to a master-side controller configured to control an actuator of themaster arm based on the master operating command. When determined thatthe magnitude of the operating force is not included in a rangeexceeding a first threshold as the limit equivalent range, the targetposition of the manipulation end may be determined as a positioncorresponding to the position of the working end. When determined thatthe magnitude of the operating force is included in a range exceedingthe first threshold, the target position of the manipulation end may bedetermined as a position moved in the direction of the operating forcefrom a position corresponding to the position of the working end.

In the method of controlling the robot system according to one aspect ofthe present disclosure, the master operating command for increasing achange in a moving velocity of the manipulation end as the operatingforce increases may be generated.

The method of controlling the robot system according to one aspect ofthe present disclosure may further include the steps of setting anoperating mode to one of a plurality of operating modes including anormal operating mode and an informing operating mode, generating theslave operating command based on the operating force and the reactionforce, generating a first temporary master operating command for movingthe manipulation end in a moving direction corresponding to a movingdirection of the working end of the slave operating command based on theoperating force and the reaction force, generating a second temporarymaster operating command based on the operating force, and setting thefirst temporary master operating command to the master operating commandin the normal operating mode, and setting the second temporary masteroperating command to the master operating command in the informingoperating mode. The method may further include, when determined that themagnitude of the operating force is included in the range exceeding thefirst threshold, setting the operating mode to the informing operatingmode.

The method of controlling the robot system according to one aspect ofthe present disclosure may further include the steps of setting anoperating mode to one of the plurality of operating modes including thenormal operating mode, the informing operating mode, and a resumingoperating mode, generating a third temporary master operating commandfor moving the manipulation end toward the target position of themanipulation end defined by the first temporary master operatingcommand, setting the third temporary master operating command to themaster operating command in the resuming operating mode, and whendetermined that the magnitude of the operating force is included in arange of a given second threshold or below in a state where theoperating mode is set to the informing operating mode, setting theoperating mode to the resuming operating mode.

The method of controlling the robot system according to one aspect ofthe present disclosure may further include the step of, when determinedthat the manipulation end is located at the target position of the firsttemporary master operating command in a state where the operating modeis set to the resuming operating mode, setting the operating mode to thenormal operating mode.

The method of controlling the robot system according to one aspect ofthe present disclosure may further include the steps of calculating atarget velocity vector based on the operating force and the reactionforce, calculating a temporary target velocity vector based on theoperating force, generating the slave operating command based on thetarget velocity vector, generating the first temporary master operatingcommand based on the target velocity vector, and generating the secondtemporary master operating command based on the temporary targetvelocity vector.

The method of controlling the robot system according to one aspect ofthe present disclosure may further include the step of receiving adetected result of a direction and a magnitude of an operating forceapplied by the operator to the manipulation end as the content ofmanipulation. When determined that the magnitude of the detectedoperating force is included in a range exceeding a third threshold asthe limit equivalent range, a command for performing a notificationusing sense information perceivable by the operator's perception may beoutputted.

In the method of controlling the robot system according to one aspect ofthe present disclosure, a command for performing a notification suchthat an intensity of the sense information becomes stronger as theoperating force becomes larger, may be outputted.

The method of controlling the robot system according to one aspect ofthe present disclosure may further include the step of setting anotifying range spreading from a limit of a given operating range to theoperating range side as the limit equivalent range. When determined thatthe target position of the working end of the slave operating command islocated in the notifying range, a command for performing a notificationusing sense information perceivable by the operator's perception may beoutputted.

In the method of controlling the robot system according to one aspect ofthe present disclosure, a command for performing a notification suchthat an intensity of the sense information becomes stronger as adistance between the target position of the working end of the slaveoperating command and the limit of the operating range becomes smaller,may be outputted.

The method of controlling the robot system according to one aspect ofthe present disclosure may further include the step of receiving adetected result of a direction and a magnitude of a reaction forceacting on the working end or a workpiece held by the working end,receiving a detected result of a direction and a magnitude of anoperating force applied by the operator to the manipulation end, as thecontent of manipulation, determining the target position of the workingend based on the detected operating force and reaction force,determining a target position of the manipulation end based on thedetected operating force and reaction force, outputting a masteroperating command for defining the target position of the manipulationend to a master-side controller configured to control an actuator of themaster arm based on the master operating command, and setting anotifying range spreading from a limit of a given operating range to theoperating range side as the limit equivalent range. The target positionof the working end is determined based on a resultant force of theoperating force and the reaction force detected at every given controlperiod. When determined that the target position of the working end islocated in the notifying range, a repulsive force acting on the workingend in a direction separating from the limit of the operating range maybe set. A next target position of the manipulation end may be determinedbased on a resultant force of the operating force, the reaction force,and the repulsive force. The master operating command for causing theactuator of the master arm to locate the manipulation end at the nexttarget position may be outputted in a subsequent control period.

In the method of controlling the robot system according to one aspect ofthe present disclosure, when determined that the target position of theworking end of the slave operating command is located in the notifyingrange, a repulsive force acting on the working end in a directionseparating from the limit of the operating range may be set, and themaster operating command may be generated based on a resultant force ofthe operating force, the reaction force, and the repulsive force in asubsequent control period.

In the method of controlling the robot system according to one aspect ofthe present disclosure, the repulsive force may be set so that amagnitude of the repulsive force becomes larger as a distance betweenthe target position of the working end of the slave operating commandand the limit of the operating range becomes smaller.

The method of controlling the robot system according to one aspect ofthe present disclosure may further include the steps of setting thenotifying range, setting the repulsive force, when determined that thetarget position of the working end of the slave operating command islocated in the notifying range, calculating a target velocity vectorbased on a resultant force of the operating force, the reaction force,and the repulsive force, generating the slave operating command based onthe target velocity vector, and generating the master operating commandbased on the target velocity vector.

Hereinafter, embodiments will be described with reference to thedrawings. Note that the present disclosure is not limited by theembodiments. Moreover, below, throughout the drawings, the samereference characters are assigned to the same or corresponding elementsto omit redundant description.

Embodiment 1

FIG. 1 is a view schematically illustrating one example of aconfiguration of a robot system 100 according to Embodiment 1. FIG. 2 isa block diagram schematically illustrating one example of aconfiguration of a control system of the robot system 100.

As illustrated in FIGS. 1 and 2, the robot system 100 is a systemincluding a master-slave robot which operates a slave arm 11 so that theslave arm 11 follows the motion of a master arm 21. In the robot system100, when an operator P who is located at a position distant from aworkspace of the slave arm 11 (outside of the workspace) moves themaster arm 21 to input an operating command into the robot system 100,the slave arm 11 performs operation corresponding to the operatingcommand to perform a specific work, such as an assembly of component(s).

Further, the robot system 100 is a bilateral-control robot system, inwhich a controller is configured to control the slave arm 11 and isfurther configured to control the operation of the master arm 21 whilesynchronizing the operation of the master arm 21 to the operation of theslave arm 11 so as to present a force acting on the slave arm 11 to theoperator P through the master arm 21. The robot system 100 is providedwith a slave unit 1 including the slave arm 11, a master unit 2including the master arm 21, and a system controller 3.

Example Configuration of Slave Unit

As illustrated in FIGS. 1 and 2, the slave unit 1 is an industrialrobot, for example. The slave unit 1 includes a base 10, the slave arm11, a slave-side force detector 12, a slave arm actuator 13, and aslave-side controller 14.

The slave arm 11 is a vertical articulated robotic arm, for example.That is, the slave arm 11 is provided with a plurality of linksconnected sequentially in a direction from a base-end part to a tip-endpart, and one or more joints which rotatably connects one of adjacentlinks to the other link. A tip-end part of the slave arm 11 is a workingend 11 a, and a hand (also referred to as an “end effector”) 16 isprovided to the working end 11 a. The base 10 is fixed to a floor, forexample, and supports the slave arm 11. The slave arm 11 has 6 degreesof freedom, for example, and can make the working end 11 a take anarbitrary posture at an arbitrary position within an operating rangeinside a three-dimensional space.

For example, the hand 16 can perform a holding operation in which itholds the workpiece W and a releasing operation in which it releases orcancels the hold of the workpiece W, and perform the assembly ofcomponent(s). The hand 16 includes a hand actuator (not illustrated) forperforming the holding operation and the releasing operation. Note thatthe structure of the hand 16 may be a structure according to the purposeof the work so that it is able to perform welding or painting.

The slave-side force detector 12 is a sensor which detects magnitudes offorces acting in three axial directions which intersect perpendicularlyto each other, and moments of the forces acting about the three axes,and is disposed at the working end 11 a of the slave arm 11. Theslave-side force detector 12 is comprised a 6-axis force sensor capableof detecting components of the forces which act in the three axialdirections which intersect perpendicularly to each other, and act aboutthe axes. Thus, when the workpiece W held by the working end 11 a of theslave arm 11 contacts an object T to which the workpiece W is assembled,the slave-side force detector 12 detects the direction and the magnitudeof a reaction force fs which acts on the working end 11 a or theworkpiece W held by the working end 11 a. The detected reaction force fsis outputted to the system controller 3.

The slave arm actuator 13 drives the slave arm 11. That is, the slavearm actuator 13 includes an actuator provided to each joint of the slavearm 11, and when it operates each joint by the drive of the actuator, atip-end part (working end 11 a) of the slave arm 11 and the hand 16 aremoved with respect to a base-end part within the given operating range.In this embodiment, for example, each joint of the slave arm 11 is arotary joint, and the actuator is a servomotor provided with a speedreducer.

The slave-side controller 14 controls the slave arm actuator 13 based ona slave operating command xs which is a positional command for defininga target position of the working end 11 a to operate the slave arm 11.The slave operating command xs is a positional command in a slavecoordinate system. The slave-side controller 14 calculates a rotationangle of the output shaft of the servomotor of each joint based on theslave operating command xs, controls current supplied to the servomotorof each joint of the slave arm 11 to control operation of the servomotorso that it changes the posture of the slave arm 11 and locates theworking end 11 a at the target position. The control of the posture ofthe slave arm 11 is performed by a feedback control based on a jointangle outputted from an encoder (not illustrated) provided to the slavearm 11.

Example Configuration of Master Unit

As illustrated in FIGS. 1 and 2, the master unit 2 is disposed outsidethe workspace and remotely controls operation of the slave arm 11. Themaster unit 2 includes the master arm 21, a master-side force detector22, a master arm actuator 23, and a master-side controller 24.

The master arm 21 is a device for the operator P contacting andoperating to input an operating command to the slave arm 11 from theoperator P. For example, the master arm 21 has 6 degrees of freedom, andcan make a manipulation end 21 a take an arbitrary posture at anarbitrary position within an operating range in a three-dimensionalspace. The part which the operator P contacts and operates constitutesthe manipulation end 21 a, and the operator P applies a force to themanipulation end 21 a to input the operating command to the slave arm11.

The master-side force detector 22 is a sensor which detects themagnitudes of the forces acting in the three axial directions whichintersect perpendicularly to each other, and the moments of the forceswhich act about the three axes, and is disposed at the manipulation end21 a of the master arm 21. The master-side force detector 22 iscomprised of a 6-axis force sensor capable of detecting components ofthe forces which act in the three axial directions which intersectperpendicularly to each other, and act about the axes. Thus, themaster-side force detector 22 detects the manipulation input of theoperator P into the manipulation end 21 a, and detects the operatingcommand 21 a from the operator P to the slave arm 11, i.e., thedirection and the magnitude of an operating force fm which the operatorP applied to the manipulation end of the master arm 21. The detectedoperating force fm is outputted to the system controller 3.

The master arm actuator 23 drives the master arm 21. That is, the masterarm actuator 23 includes an actuator provided to each joint of themaster arm 21, and operates each joint by the drive of the actuator tomove the manipulation end 21 a of the master arm 21. In this embodiment,for example, the actuator is a servomotor provided with a speed reducer.

The master-side controller 24 controls the master arm actuator 23 basedon a master operating command xm which is a positional command fordefining a target position of the manipulation end 21 a to operate themaster arm 21. The master operating command xm is a positional commandin a master coordinate system. The master coordinate system correspondsto the slave coordinate system, and therefore, based on one of positioncommand values, the position command value of the other can becalculated by using a coordinate conversion. The master-side controller24 calculates a rotation angle of the output shaft of the servomotor ofeach joint of the master arm 21 based on the master operating commandxm, controls current supplied to the servomotor of each joint of themaster arm 21 to control operation of the servomotor of each joint sothat it changes the posture of the master arm 21, and therefore, locatesthe manipulation end 21 a at the target position. The control of theposture of the master arm 21 is performed by a feedback control based onthe joint angle outputted from an encoder (not illustrated) provided tothe master arm 21.

Example Configuration of System Controller

The system controller 3 controls the slave unit 1 and the master unit 2by a parallel bilateral control system. That is, the system controller 3generates the slave operating command xs which is a positional commandand the master operating command xm which is the positional commandbased on the operating force fm detected by the master-side forcedetector 22 and the reaction force fs detected by the slave-side forcedetector 12.

The system controller 3 includes a converting module 31, a subconvertingmodule 32, a slave operating command generating module 51, a firsttemporary master operating command generating module 52, a secondtemporary master operating command generating module 53, a thirdtemporary master operating command generating module 54, a masteroperating command setting module 36, and an operating mode settingmodule 37. The converting module 31, the subconverting module 32, theslave operating command generating module 51, the first temporary masteroperating command generating module 52, the second temporary masteroperating command generating module 53, the third temporary masteroperating command generating module 54, the master operating commandsetting module 36, and the operating mode setting module 37 arefunctional blocks implemented by a processor (not illustrated) executinga given control program. Note that functions of the slave-sidecontroller 14 and the master-side controller 24 are implemented byprocessor(s) (not illustrated) executing given control program(s).

The above-described processor related to the slave-side controller 14,the master-side controller 24, and the system controller 3 is comprisedof a processor such as, a microcontroller, a CPU (Central ProcessingUnit), an ASIC (Application Specific Integrated Circuit), or a PLD(Programmable Logic Device) such as an FPGA (Field Programmable GateArray). The processor may be comprised of a sole controller whichcarries out a centralized control, or may be comprised of a plurality ofcontrollers which collaboratively carry out a distributed control. Notethat some or all of the function of the processor may be implemented bya computer system comprised of a processor such as a CPU, a nonvolatilememory such as a RAM (Random Access Memory), and a volatile memory suchas a ROM (Read-Only Memory), or may be implemented by dedicated hardwarecircuitry for an electronic circuit or an integrated circuit, or may beimplemented by a combination of the computer system and the hardwarecircuitry.

Moreover, the system controller 3 is provided with a storage device (notillustrated) which stores various programs and data. For example, thestorage device includes a semiconductor memory, a hard disk drive, andan SSD (Solid State Drive), which are a volatile memory and anonvolatile memory. Moreover, the system controller 3 may be comprisedof a sole controller including the slave-side controller 14 and themaster-side controller 24, or may be comprised of a plurality ofcontrollers which collaboratively carry out a distributed control.

The converting module 31 calculates a target velocity vector vd based ona resultant force of the operating force fm detected by the master-sideforce detector 22 and the reaction force fs detected by the slave-sideforce detector 12. The target velocity vector vd is used for calculatingthe moving directions and the magnitudes of the movement of the workingend 11 a and the manipulation end 21 a, as will be described later. Inmore detail, the converting module 31 calculates the target velocityvector vd defining the moving directions and moving velocities of theworking end 11 a and the manipulation end 21 a based on a differencebetween the operating force fm and the reaction force fs by using thefollowing Formula (1).

m×{dot over (v)} _(d) +c _(v) ×v _(d) =f _(m) −f _(s)  (1)

Note that, “m” is a given mass value, and “c_(v)” is a given coefficientof viscosity.

As illustrated in Formula (1), by calculating the difference between theoperating force fm and the reaction force fs, the converting module 31associates the operating force fm with the reaction force fs, and treatsthe reaction force fs as a reaction force against the operating forcefm. Then, the target velocity vector vd is a value according to thedifference between the operating force fm and the reaction force fs, andwhen the reaction force fs is not zero due to the contact with theobject T, the target velocity vector vd normally becomes a vector whichgoes in a direction different from the direction of the operating forcefm.

The subconverting module 32 calculates a temporary target velocityvector vdt used for calculating the moving direction and the magnitudeof the movement of the manipulation end 21 a based on the operatingforce fm detected by the master-side force detector 22. In more detail,the subconverting module 32 calculates the temporary target velocityvector vdt defining the moving direction and the moving velocity of themanipulation end 21 a based on the operating force fm by using thefollowing Formula (2).

m×{dot over (v)} _(dt) +c _(v) ×v _(dt) =f _(m)  (2)

As illustrated in Formula (2), the temporary target velocity vector vdtis a value according to the operating force fm, and the temporary targetvelocity vector vdt becomes a vector which goes substantially in thesame direction as the operating force fm. Moreover, the subconvertingmodule 32 may multiply the reaction force fs by a given coefficient andset a temporary reaction force smaller than the reaction force fs, andmay calculate the temporary target velocity vector vdt based on thetemporary reaction force and the operating force fm.

The slave operating command generating module 51 generates the slaveoperating command xs based on the target velocity vector vd so that theworking end 11 a is moved at a speed according to the value of thetarget velocity vector vd. The slave operating command xs is apositional command for defining the target position of the working end11 a, as described above. The target position is normally set in thedirection different from the direction of the operating force fm, whenthe reaction force fs is not substantially zero, as described regardingthe target velocity vector vd. The slave operating command xs isoutputted to the slave-side controller 14, and the slave-side controller14 controls the slave arm actuator 13 based on the slave operatingcommand xs so that the working end 11 a of the slave arm 11 is movedsynchronously to follow the motion of the manipulation end 21 a of themaster arm 21.

The first temporary master operating command generating module 52generates a first temporary master operating command xmt1 based on thetarget velocity vector vd so that the manipulation end 21 a is moved ata speed according to the value of the target velocity vector vd. Thefirst temporary master operating command xmt1 is an operating commandfor moving the manipulation end 21 a in a moving direction correspondingto the moving direction of the working end 11 a of the slave operatingcommand xs, and is a positional command for defining the target positionof the manipulation end 21 a. Similarly to the slave operating commandxs, the target position is normally set in a direction different fromthe direction of the operating force fm, when the reaction force fs isnot substantially zero.

In this embodiment, in order to make the first temporary masteroperating command xmt1 as the operating command for moving themanipulation end 21 a in the moving direction corresponding to themoving direction of the working end 11 a of the slave operating commandxs, similar to the slave operating command xs, the first temporarymaster operating command xmt1 is generated based on the target velocityvector vd. Then, when seen from the operator P, the first temporarymaster operating command xmt1 is generated so that the moving directionof the working end 11 a of the slave operating command xs becomes thesame direction as the moving direction of the manipulation end 21 a ofthe first temporary master operating command xmt1 (in agreement witheach other).

The second temporary master operating command generating module 53generates the second temporary master operating command xmt2 based onthe temporary target velocity vector vdt so that the manipulation end 21a is moved at a speed according to the value of the temporary targetvelocity vector vdt. The second temporary master operating command xmt2is a positional command for defining the target position of themanipulation end 21 a. The target position is set in the same directionas the operating force fm, as described regarding the temporary targetvelocity vector vdt.

The third temporary master operating command generating module 54generates the third temporary master operating command xmt3 for movingthe manipulation end 21 a toward the target position of the manipulationend 21 a defined by the first temporary master operating command xmt1.The third temporary master operating command xmt3 is a positionalcommand for defining the target position of the manipulation end 21 a.The target position is set in the same direction as the operating forcefm, as described regarding the temporary target velocity vector vdt.

The master operating command setting module 36 sets the first temporarymaster operating command xmt1 to the master operating command xm in thenormal operating mode, sets the second temporary master operatingcommand xmt2 to the master operating command xm in an informingoperating mode, and sets the third temporary master operating commandxmt3 to the master operating command xm in a resuming operating mode.The master operating command xm is outputted to the master-sidecontroller 24.

The operating mode setting module 37 sets the mode to one of a pluralityof operating modes including a normal operating mode, the informingoperating mode, and the resuming operating mode.

Therefore, the master operating command setting module 36 sets the firsttemporary master operating command xmt1 to the master operating commandxm in the normal operating mode. The master-side controller 24 controlsthe master arm actuator 23 based on the first temporary master operatingcommand xmt1 to operate the manipulation end 21 a of the master arm 21so that the manipulation end 21 a resists the operating force fm. Thus,the force acting on the working end 11 a of the slave arm 11 ispresented to the operator P through the manipulation end 21 a.Therefore, the operator P can perform the work while recognizing theinner force sense when the working end 11 a contacts the environment.

Moreover, the master operating command setting module 36 sets the secondtemporary master operating command xmt2 to the master operating commandxm in the informing operating mode. The master-side controller 24controls the master arm actuator 23 based on the second temporary masteroperating command xmt2 to move the manipulation end 21 a in thedirection of the operating force fm applied by the operator P.

Further, the master operating command setting module 36 sets the thirdtemporary master operating command xmt3 to the master operating commandxm in the resuming operating mode. The master-side controller 24controls the master arm actuator 23 based on the third temporary masteroperating command xmt3 to move the manipulation end 21 a so that thecorrelation with the working end 11 a is resumed.

Note that, the slave operating command generating module 51, the firsttemporary master operating command generating module 52, the secondtemporary master operating command generating module 53, and the thirdtemporary master operating command generating module 54 generate theoperating command regardless of in which operating mode the operation iscurrently set.

Example Operation

Next, one example of operation of the robot system 100 is described.FIG. 3 is a flowchart illustrating one example of operation of the robotsystem 100. As illustrated in FIG. 1, in this example operation, theoperator P uses the robot system 100 to perform a work in which theworkpiece W is assembled to the object T by fitting the workpiece Wwhich is formed in a cylindrical shape and has a through-hole Wa ontothe object T which is a cylindrical pin extending in the up-and-downdirection and is formed fittable into the through-hole Wa. The workpieceW is gripped by the hand 16 of the slave arm 11, and the object T islocated, for example, over a production line.

First, the operating mode setting module 37 determines whether themagnitude of the operating force fm is included in a range exceeding agiven first threshold flim1 (Step S1). The range exceeding the firstthreshold flim1 is one example of a limit equivalent range. The firstthreshold flim1 is a value set in advance based on a load permitted bythe master arm 21, and is a value set based on, for example, the maximumload which is detectable by the master-side force detector 22, the loadat which the master-side force detector 22 is not damaged, the load atwhich the joint of the master arm 21 is not damaged, and the load atwhich the link of the master arm 21 is not bent. In an initial state inwhich the operating force fm is not applied to the master arm 21, sincethe operating force fm is zero, the operating mode setting module 37determines that the magnitude of the operating force fm is not includedin the range exceeding the first threshold flim1, i.e., it does notexceed the first threshold flim1 (NO at Step S1), and sets the operatingmode to the normal operating mode (Step S2).

Then, in this initial state, if the slave arm 11 does not contact theenvironment, such as the object T, the reaction force fs becomes zeroand the difference between the operating force fm and the reaction forcefs also becomes zero. Therefore, the target velocity vector vdcalculated by the converting module 31 becomes a zero vector, and theposition command value according to the slave operating command xsgenerated by the slave operating command generating module 51 based onthe target velocity vector vd does not change. Therefore, the slave-sidecontroller 14 maintains the current posture of the slave arm 11.Moreover, the position command value according to the first temporarymaster operating command xmt1 does not change, and in the normaloperating mode, the master-side controller 24 maintains the currentposture of the master arm 21 based on the first temporary masteroperating command xmt1. Then, the operating mode setting module 37 againperforms a determination according to Step S1.

Next, when the operator P applies the operating force fm in a directionin which the workpiece W is brought closer to the object T, i.e.,applies the operating force fm to the manipulation end 21 a of themaster arm 21 downwardly, the converting module 31 calculates a downwardtarget velocity vector vd having the magnitude according to theoperating force fm by using Formula (1). Note that, in the state wherethe workpiece W does not contact the object T, the reaction force fs iszero.

Next, the slave operating command generating module 51 generates theslave operating command xs based on the target velocity vector vd, andsets the target position of the working end 11 a of the slave arm 11below the current position. The slave-side controller 14 changes theposture of the slave arm 11 based on the slave operating command xs sothat the working end 11 a moves downwardly.

Moreover, the first temporary master operating command generating module52 generates the first temporary master operating command xmt1 based onthe target velocity vector vd, and updates the target position of themanipulation end 21 a of the master arm 21 to the position below thecurrent position. When the magnitude of the operating force fm is notincluded in the range exceeding the first threshold flim1, the statewhere the operating mode is set to the normal operating mode ismaintained, and the master-side controller 24 changes the posture of themaster arm 21 based on the first temporary master operating command xmt1so that the manipulation end 21 a moves downwardly toward the targetposition.

Thus, when the magnitude of the operating force fm is not included inthe range exceeding the given first threshold flim1, the working end 11a of the slave arm 11 and the manipulation end 21 a of the master arm 21move in the same direction simultaneously. Therefore, when the operatorP moves the manipulation end 21 a of the master arm 21, the operator Pcan acquire the sensation as if the working end 11 a of the slave arm 11operates so as to follow the motion of the manipulation end 21 a of themaster arm 21.

Then, when the working end 11 a of the slave arm 11 moves downwardly tocause the workpiece W to contact an upper end of the object T and pushthe workpiece W against the object T, the reaction force fs according tothe magnitude of the pushing force is detected by the slave-side forcedetector 12. Then, from this state, even if the operator P applies thestrong downward operating force fm against the manipulation end 21 a,the reaction force fs increases in proportion to the operating force fm,the difference between the operating force fm and the reaction force fsbecomes substantially zero, and the target velocity vector vd calculatedby the converting module 31 becomes the zero vector.

At this time, the slave operating command generating module 51 generatesthe slave operating command xs based on the target velocity vector vdwhich is the zero vector regardless of the set operating mode, and setsthe target position of the working end 11 a of the slave arm 11 tosubstantially the same position as the current position. The slave-sidecontroller 14 maintains the current posture of the slave arm 11 based onthe slave operating command xs.

Moreover, the first temporary master operating command generating module52 also generates the first temporary master operating command xmt1based on the target velocity vector vd which is the zero vector, andsets the target position of the manipulation end 21 a of the master arm21 to substantially the same position as the current position. Then, inthe normal operating mode, the master-side controller 24 maintains thecurrent posture of the master arm 21 based on the first temporary masteroperating command xmt1, and operates the manipulation end 21 a of themaster arm 21 so that the manipulation end 21 a resists the operatingforce fm. Therefore, the reaction force fs which acts on the working end11 a of the slave arm 11 can be presented to the operator P through themanipulation end 21 a. Therefore, the operator P can perform the workwhile recognizing the reaction force fs through the inner force sense ofthe operator P, when the working end 11 a contacts the environment. Thiswork is, for example, to move the workpiece W in a directionperpendicular to the reaction force while pushing the workpiece Wagainst the object T to explore a position at which the through-hole Wafits onto the object T. By recognizing the direction of the reactionforce fs, the operator P can recognize the direction of exploring theposition at which the object T fits, i.e., the direction perpendicularto the reaction force fs, and can perform the work efficiently.

At this time, by the operation of the operator P, such as forciblyapplying the downward operating force fm to the manipulation end 21 a ofthe master arm 21, if the operating mode setting module 37 determinesthat the magnitude of the operating force fm is included in the rangeexceeding the first threshold flim1, i.e., the magnitude exceeds thefirst threshold flim1 (YES at Step S1), it sets the operating mode tothe informing operating mode (Step S3). Therefore, the master operatingcommand setting module 36 sets the second temporary master operatingcommand xmt2 to the master operating command xm, and generates themaster operating command xm for moving the manipulation end 21 a in thedirection of the operating force fm.

As described above, the second temporary master operating commandgenerating module 53 generates the second temporary master operatingcommand xmt2 based on the temporary target velocity vector vdtcalculated by the subconverting module 32. Therefore, in the state wherethe operating mode is set to the informing operating mode, themaster-side controller 24 changes the posture of the master arm 21 sothat the manipulation end 21 a of the master arm 21 moves downwardlytoward the target position based on the second temporary masteroperating command xmt2.

Moreover, as described above, the temporary target velocity vector vdtis a velocity vector having the magnitude and the direction according tothe operating force fm detected by the master-side force detector 22.Therefore, in the state where the operator P applies the strong downwardoperating force fm against the manipulation end 21 a, the temporarytarget velocity vector vdt becomes a downward vector with a largemagnitude. Therefore, the target position of the second temporary masteroperating command xmt2 becomes a largely distant position below thecurrent position. Therefore, the master-side controller 24 does not movethe manipulation end 21 a until the magnitude of the operating force fmexceeds the first threshold flim1, and then, when the magnitude of theoperating force fm is included in the range exceeding the firstthreshold flim1, it suddenly moves the manipulation end 21 a downwardly.That is, the operation of the manipulation end 21 a changes suddenly.Therefore, the operator P can be informed about the magnitude of theoperating force fm exceeding the first threshold flim1. Moreover, whenthe manipulation end 21 a moves in the direction in which the operator Papplied the force, the load on the master arm 21 and the master-sideforce detector 22 can be reduced, and the damages to the master arm 21and the master-side force detector 22 can be prevented.

Further, since the manipulation end 21 a suddenly moves in the directionin which the operator P applied the force and the operation of themanipulation end 21 a changes suddenly, the operator P may be surprised,and, as a result, the operator P may be guided so that he/she weakensthe operating force fm.

Moreover, the master operating command xm is generated so that, as themagnitude of the operating force fm (or an excess amount of theoperating force fm from the first threshold flim1) increases, themagnitude of the temporary target velocity vector vdt becomes larger,and, as a result, the change in the moving velocity of the manipulationend 21 a increases. Therefore, the operator P can be guided about howmuch the operating force fm is to be weakened. Moreover, the operator Pcan be surprised as much as the magnitude of the excessive operatingforce fm. As a result, the operator P can be guided so as toappropriately weaken the operating force fm. Moreover, the manipulationend 21 a moves more quickly in the direction in which the operator Papplied the force as the magnitude of the operating force fm increases.Therefore, the load on the master arm 21 and the master-side forcedetector 22 can be reduced more appropriately, and the damages to themaster arm 21 and the master-side force detector 22 can be preventedmore appropriately. Further, since the operating mode can be changedautomatically from the normal operating mode to the informing operatingmode, an emergency stop for protecting the robot system 100 can beavoided.

Note that, in this embodiment, the master operating command xm isgenerated so that the moving velocity of the manipulation end 21 a isincreased as the magnitude of the operating force fm increases. However,the present disclosure is not limited to this configuration.Alternatively, the master operating command xm may be generated so thatthe moving velocity of the manipulation end 21 a is increased as anamount of change in the magnitude of the operating force per unit timeincreases.

Note that the slave-side controller 14 controls the slave arm 11 basedon the operating force fm and the reaction force fs, regardless of theset operating mode. For example, if the operator P weakens the operatingforce fm, the target velocity vector vd becomes an upward vector basedon Formula (1), and the slave-side controller 14 controls the slave arm11 to reduce the pushing force against the object T. Note that, when theoperating mode is set to operating modes other than the normal operatingmode, the slave-side controller 14 may suspend the operation of theslave arm 11.

Then, when the operating mode setting module 37 sets the informingoperating mode at Step S3, it then determines whether the magnitude ofthe operating force fm is included in an range of a second thresholdflim2 or below (Step S4). The second threshold flim2 is a value of thefirst threshold flim1 or below, which is set in advance.

Then, while the magnitude of the operating force fm is not included inthe range of the second threshold flim2 or below, i.e., whiledetermining that it exceeds the second threshold flim2 (NO at Step S4),the operating mode setting module 37 repeatedly determines whether themagnitude of the operating force fm is included in the range of thesecond threshold flim2 or below.

Then, when the operator P weakens the operating force fm and themagnitude of the operating force fm becomes the second threshold flim2or below, the operating mode setting module 37 determines that themagnitude of the operating force fm is included in the range of thesecond threshold flim2 or below (YES at Step S4), and sets the operatingmode to the resuming operating mode (Step S5).

As described above, the third temporary master operating commandgenerating module 54 generates the third temporary master operatingcommand xmt3 based on the current position of the manipulation end 21 aand the first temporary master operating command xmt1 generated by thefirst temporary master operating command generating module 52.Therefore, in the state where the operating mode is set to the resumingoperating mode, the master-side controller 24 moves the manipulation end21 a of the master arm 21 toward the target position of the firsttemporary master operating command xmt1 based on the third temporarymaster operating command xmt3.

Next, the operating mode setting module 37 determines whether themanipulation end 21 a is located at the target position according to thefirst temporary master operating command xmt1 generated by the firsttemporary master operating command generating module 52, i.e., reachesthe target position (Step S6). This determination is performed bydetermining whether the current position of the manipulation end 21 a isequal to the target position of the first temporary master operatingcommand xmt1. Then, if the operating mode setting module 37 determinesthat the manipulation end 21 a is not located at the target positionaccording to the first temporary master operating command xmt1 (NO atStep S6), it again performs Step S5, where it maintains the state wherethe operating mode is set to the resuming operating mode.

Then, if the operating mode setting module 37 determines that themanipulation end 21 a is located at the target position according to thefirst temporary master operating command xmt1, it performs Step S2,where it sets and resumes the operating mode to the normal operatingmode. Therefore, the working end 11 a of the slave arm 11 and themanipulation end 21 a of the master arm 21 are again configured to movein the same direction simultaneously. Moreover, the operating mode canbe automatically resumed to the normal operating mode, and aninterruption of the work can be avoided.

As described above, the robot system 100 sets the operating mode to theinforming operating mode when the operating mode setting module 37determines that the magnitude of the operating force fm is included inthe range exceeding the first threshold flim1, and it generates themaster operating command xm so that the manipulation end 21 a is movedin the direction of the operating force fm. Therefore, the robot system100 can inform the operator P that the master arm 21 is overloaded.Moreover, the robot system 100 can operate the master arm 21 so that theload slips off the master arm 21. Therefore, the damage to the masterarm 21 can be prevented.

Modification 1 of Embodiment 1

Below, a configuration and operation of Modification 1 of the embodimentis described focusing on the difference from Embodiment 1.

FIG. 4 is a block diagram schematically illustrating one example of aconfiguration of a control system of a robot system 200 according toModification 1 of Embodiment 1.

In this modification, the robot system 200 is further provided with aninforming part 204 which performs a notification by using senseinformation perceivable by the perception of the operator P. Forexample, the perception of the operator P is at least any one of thesenses, such as a tactile sense, an inner force sense, an acousticsense, a sense of smell, and a visual sense. Moreover, the informingpart 204 includes a vibrator, a speaker, a display, and a signalinglamp. Moreover, in this modification, the system controller 3 furtherincludes an informing part controlling module 231. The informing partcontrolling module 231 is a functional block implemented by a processor(not illustrated) executing a given control program. Note that, in FIG.4, although the subconverting module 32, the second temporary masteroperating command generating module 53, and the third temporary masteroperating command generating module 54 are not illustrated, thesefunctional blocks may also be included.

In the informing operating mode, the informing part controlling module231 controls the informing part 204 to perform the notification to theoperator P. Therefore, it can inform the operator P that the magnitudeof the operating force fm exceeds the first threshold flim1.

Moreover, the informing part controlling module 231 controls theinforming part 204 so that the intensity of the sense informationbecomes stronger as the operating force fm increases. Controlling theinforming part 204 so as to make the intensity of the sense informationstronger is, for example, increasing the sound volume, changing thepitch of sound, changing the tone, increasing the vibration to themanipulation end 21 a, increasing the brightness, increasing a displayarea of the display unit. Thus, the operator P may be surprised as muchas the magnitude of the excessive operating force fm, and, as a result,the operator P may be guided so that he/she appropriately weakens theoperating force fm.

Embodiment 2

A robot system 100A according to Embodiment 2 is described. Below,Embodiment 2 is described focusing on the difference from Embodiment 1and Modification 1, and description of the same matters as Embodiment 1and Modification 1 is suitably omitted.

FIG. 5 is a block diagram schematically illustrating one example of aconfiguration of a control system of the robot system 100A according toEmbodiment 2. As illustrated in FIG. 5, the robot system 100A includesthe slave unit 1, the master unit 2, and a system controller 3A.

The system controller 3A generates the slave operating command xs andthe master operating command xm based on the operating force fm detectedby the master-side force detector 22, and the reaction force fs detectedby the slave-side force detector 12, at every given control period.Moreover, the system controller 3A generates each command so that thetarget position of the slave operating command xs and the targetposition of the master operating command xm have a given correlation.

The system controller 3 includes a converting module 310, a slaveoperating command generating module 320, a master operating commandgenerating module 330, a notifying range setting module 340, and arepulsive force setting module 350. The converting module 310, the slaveoperating command generating module 320, the master operating commandgenerating module 330, the notifying range setting module 340, and therepulsive force setting module 350 are functional blocks implemented bya processor (not illustrated) executing a given control program.

The converting module 310 calculates a target velocity vector vd basedon a resultant force of the operating force fm detected by themaster-side force detector 22, the reaction force fs detected by theslave-side force detector 12, and a repulsive force fr set by therepulsive force setting module 350. In more detail, the convertingmodule 310 calculates the target velocity vector vd defining the movingdirections and the moving velocities of the working end 11 a and themanipulation end 21 a based on a resultant force obtained by adding therepulsive force fr to a difference between the operating force fm andthe reaction force fs, by using the following Formula (3).

m×{dot over (v)} _(d) +ċ _(v) ×v _(d) =f _(m) −f _(s) +f _(r)  (3)

Note that, “m” is a given mass value, and “c_(v)” is a given coefficientof viscosity.

As illustrated in Formula (3), the converting module 310 associates theoperating force fm with the reaction force fs by calculating thedifference between the operating force fm and the reaction force fs, andtreats the reaction force fs as a reaction force against the operatingforce fm.

The function of the slave operating command generating module 320 is thesame as the function of the slave operating command generating module 51of Embodiment 1.

The master operating command generating module 330 generates the masteroperating command xm based on the target velocity vector vd so that themanipulation end 21 a is moved at the speed according to the value ofthe target velocity vector vd, and outputs it to the master-sidecontroller 24. The master-side controller 24 controls the master armactuator 23 based on the master operating command xm and operates themanipulation end 21 a of the master arm 21 so that the manipulation end21 a resists the operating force fm to present the operator P thereaction force fs which acts on the working end 11 a of the slave arm 11and the repulsive force fr set by the repulsive force setting module350. Therefore, the operator P can perform the work while recognizingthe reaction force fs through the inner force sense of the operator P,when the working end 11 a contacts the environment. Moreover, theoperator P can perform the work while recognizing the repulsive force frthrough the inner force sense of the operator P, when the working end 11a enters into a notifying range A3. The notifying range A3 is oneexample of the limit equivalent range.

FIG. 6 is a view illustrating one example of setting of an operatingrange A1, an entering prohibited range A2, and the notifying range A3which are set by the notifying range setting module 340 of the robotsystem 100A according to Embodiment 2.

As illustrated in FIG. 6, the notifying range setting module 340 setsthe notifying range A3 which spreads toward the given operating range A1from the limit of the operating range A1, i.e., a boundary B(illustrated by a one-dot chain line in FIG. 6). That is, the notifyingrange A3 spreads inward of the operating range A1. In detail, thenotifying range setting module 340 sets the given operating range A1,the entering prohibited range A2 other than operating range A1, and thenotifying range A3 which spreads toward the operating range A1 from thelimit of the given operating range A1, i.e., the boundary B between theoperating range A1 and the entering prohibited range A2, by a givendistance. That is, the notifying range A3 is a range included in theoperating range A1, and is set so as to overlap with the operating rangeA1. The settings of the operating range A1, the entering prohibitedrange A2, and the notifying range A3 are stored in advance in a memory(not illustrated). The notifying range setting module 340 sets theseranges A1-A3 by reading the settings of the ranges A1-A3 from thememory. The function of the memory is implemented by the storage devicedescribed above. The operating range A1 is set so as to exclude, forexample, a space where the work is not performed, such as a space wherean obstacle exists and a space distant from the object T.

As illustrated in FIG. 5, when the repulsive force setting module 350determines that the target position of the working end 11 a of the slaveoperating command xs is located in the notifying range A3, it sets therepulsive force fr which has a direction separating from the limit ofthe operating range A1 and acts on the working end 11 a. In thisembodiment, the repulsive force setting module 350 first calculates adistance d in the normal direction of the boundary B between the targetposition of the slave operating command xs and the boundary B. Then, therepulsive force setting module 350 calculates the repulsive force fr byusing the following Formula (4).

f _(r)=(−kd+a)i  (4)

Note that, “k” is a given coefficient, “a” is a repulsive force whichacts on the working end when the working end locates on the boundary,and “i” is a unit normal vector of the boundary B to the operating rangeside.

As illustrated in this Formula (4), the repulsive force setting module350 calculates the repulsive force fr so that the magnitude of therepulsive force fr becomes larger as the distance between the targetposition of the working end 11 a of the slave operating command xs andthe limit of the operating range A1 decreases. Note that a coefficient kin Formula (4) is a value set so as to be a repulsive force fr favorablefor the operator P.

Example Operation

Next, one example of operation of the robot system 100A is described.FIGS. 7 and 8 are views illustrating one example of operation of therobot system 100A according to Embodiment 2. For example, as illustratedin FIGS. 7 and 8, in this example operation, the operator P performs awork in which the workpiece W is assembled to the object T by using therobot system 100A.

First, as illustrated in FIG. 6, the notifying range setting module 340sets the notifying range A3.

Next, the converting module 310 calculates the target velocity vector vdat every given control period. In a state where the working end 11 a islocated in the operating range A1 other than the notifying range A3, themaster arm 21 is not operated, and the slave arm 11 is not in contactwith the environment, such as the object T, all of the operating forcefm, the reaction force fs, and the repulsive force fr become zero, andthe resultant force of the operating force fm, the reaction force fs,and the repulsive force fr becomes zero. Therefore, the target velocityvector vd calculated by the converting module 310 becomes the zerovector, and the slave operating command generating module 320 sets thenext target position according to the slave operating command xs as thesame position as the current position based on the target velocityvector vd. Then, in the subsequent control period, the slave-sidecontroller 14 maintains the current posture of the slave arm 11 based onthe slave operating command xs. Moreover, similarly to the slaveoperating command generating module 320, the master operating commandgenerating module 330 sets the next target position, and the master-sidecontroller 24 maintains the current posture of the master arm 21similarly to the slave-side controller 14.

Next, as illustrated in FIG. 7, when the operator P applies theoperating force fm in the direction the workpiece W is brought closer tothe object T, i.e., applies the downward operating force fm to themanipulation end 21 a of the master arm 21, the converting module 310calculates the downward target velocity vector vd having the magnitudeaccording to the operating force fm by using Formula (3). Note that, inthe state where the workpiece W does not contact the object T, thereaction force fs is zero. Then, the slave operating command generatingmodule 320 sets the next target position of the working end 11 a of theslave operating command xs below the current position so that theworking end 11 a is moved downwardly at the speed according to thedownward target velocity vector vd. Then, in the subsequent controlperiod, the slave-side controller 14 changes the posture of the slavearm 11 so that the working end 11 a is moved downwardly based on theslave operating command xs. Similarly, the master-side controller 24changes the posture of the master arm 21 based on the master operatingcommand xm so that the manipulation end 21 a is moved downwardly.

Thus, the working end 11 a of the slave arm 11 and the manipulation end21 a of the master arm 21 move in the same direction simultaneously.Therefore, when the operator P moves the manipulation end 21 a of themaster arm 21, the operator P can feel as if the working end 11 a of theslave arm 11 operates so as to follow the motion of the manipulation end21 a of the master arm 21.

Then, when the working end 11 a of the slave arm 11 moves downwardly,the workpiece W contacts the upper end of the object T, and when theworkpiece W is pushed against the object T, the reaction force fsaccording to the magnitude of the pushing force is detected by theslave-side force detector 12. Then, from this state, even when theoperator P applies the strong downward operating force fm against themanipulation end 21 a, the reaction force fs increases in proportion tothe operating force fm, and the difference between the operating forcefm and the reaction force fs becomes substantially zero, and therefore,the target velocity vector vd calculated by the converting module 310becomes the zero vector. Therefore, the slave operating commandgenerating module 320 sets the next target position according to theslave operating command xs as the same position as the current positionbased on the target velocity vector vd. Then, in the subsequent controlperiod, the slave-side controller 14 maintains the current posture ofthe slave arm 11 based on the slave operating command xs. Similarly tothe slave operating command generating module 320, the master operatingcommand generating module 330 sets the next target position, and themaster-side controller 24 maintains the current posture of the masterarm 21 similarly to the slave-side controller 14.

Thus, when the workpiece W is pushed against the object T, themaster-side controller 24 maintains the current posture of the masterarm 21 based on the master operating command xm, operates themanipulation end 21 a so that the manipulation end 21 a of the masterarm 21 resists the operating force fm, and changes the operation of themanipulation end 21 a. Therefore, the reaction force fs which acts onthe working end 11 a of the slave arm 11 can be presented to theoperator P through the manipulation end 21 a of the master arm 21.Therefore, the operator P can perform the work while recognizing thereaction force fs through the inner force sense of the operator P, whenthe working end 11 a contacts the environment. This work is a work inwhich, for example, in the state illustrating in FIG. 7, the workpiece Wis moved in the direction perpendicular to the reaction force while theworkpiece W is pushed against the object T to explore the position atwhich the through-hole Wa and the object T fit. The operator P canperform the work efficiently because he/she can recognize the exploringdirection of the fitting position of the object T (i.e., the directionwhich intersects perpendicular to the reaction force fs) by recognizingthe direction of the reaction force fs.

Meanwhile, as illustrated in FIG. 8, the operator P moves the workingend 11 a of the slave arm 11 downwardly at the location where the objectT does not exist in the plan view, and when the workpiece W enters intothe notifying range A3 without being pushed against the object T, therepulsive force setting module 350 determines that the target positionof the working end 11 a of the slave operating command xs is locatedinside the notifying range A3, and calculates the repulsive force fr byusing Formula (4). Then, the converting module 310 calculates the targetvelocity vector vd having the magnitude according to the resultant forceof the operating force fm and the repulsive force fr by using Formula(3). Note that, in the state illustrated in FIG. 8 where the workpiece Wdoes not contact the object T, the reaction force fs is zero.

At this time, in FIG. 8, as for normal direction components at theboundary B between the repulsive force fr and the operating force fm,the normal direction component of the repulsive force fr is oriented tothe opposite side of the normal direction component of the operatingforce fm (opposite sign). Therefore, as for the resultant force acquiredby synthesizing the repulsive force fr with the operating force fm, thecomponent of the resultant force toward the boundary B becomes smaller,and the component of the target velocity vector vd toward the boundary B(the component of the target velocity vector vd in the normal directionof the boundary B) also becomes smaller.

Then, the slave operating command generating module 320 sets the nexttarget position of the working end 11 a of the slave operating commandxs as the position below the current position based on the targetvelocity vector vd so that the working end 11 a is moved downwardly at aspeed slower than the speed before entering into the notifying range A3.Then, in the subsequent control period, the slave-side controller 14changes the posture of the slave arm 11 based on the slave operatingcommand xs so that the working end 11 a is moved downwardly. Similarlyto the slave operating command generating module 320, the masteroperating command generating module 330 sets the next target position,and similarly to the slave-side controller 14, the master-sidecontroller 24 changes the posture of the master arm 21 based on themaster operating command xm so that the manipulation end 21 a is moveddownwardly. Therefore, the system controller 3A can give the operator Psuch a sensation that the operation of the working end 11 a and themanipulation end 21 a became heavier, and can notify the operator Pabout an approach to the limit of the operating range A1.

Note that, as the distance between the target position of the workingend 11 a of the slave operating command xs and the limit of theoperating range A1 decreases, the magnitude of the repulsive force frset by the repulsive force setting module 350 becomes larger, the targetvelocity vector vd becomes smaller, and the speeds of the working end 11a and the manipulation end 21 a become slower. Further, when therepulsive force fr exceeds the operating force fm, the sign of thetarget velocity vector vd is reversed, and the working end 11 a and themanipulation end 21 a are moved so that they are pushed back. Thus,since the direction of the repulsive force fr turns to the directionseparating from the limit of the operating range A1, and the magnitudeof the repulsive force fr becomes larger as the distance between thetarget position of the working end 11 a of the slave operating commandxs and the limit of the operating range A1 decreases, the operator P canbe guided intelligibly about the direction separating from the boundaryB.

Then, the slave operating command generating module 320 regulates theentering of the working end 11 a into the entering prohibited range A2,when the next target position of the working end 11 a reaches theboundary B.

Thus, when the workpiece W contacts the object T, the operator P becomessuddenly impossible to move the manipulation end 21 a in the directioncorresponding to the direction of pushing the workpiece W against theobject T. On the other hand, when the working end 11 a enters into thenotifying range A3, the operator P perceives the operation of themanipulation end 21 a gradually heavier as it approaches the limit ofthe operating range A1. Therefore, the operator P can easily distinguishwhether the working end 11 a contacts the workpiece W, or whether theworking end 11 a approaches the limit of the operating range A1.Therefore, for example, the operator P can be prevented from erroneouslyrecognizing that the working end 11 a is in contact with the workpieceW, in spite of being in the state where the working end 11 a reaches thelimit of the operating range A1 and the operations of the working end 11a and the manipulation end 21 a are regulated. Thus, a wrong work(assembly at a wrong location) can be prevented, and the work efficiencycan be improved.

Modification 2 of Embodiment 2

Below, a configuration and operation of Modification 2 of Embodiment 2are described focusing on the difference from Embodiment 2. FIG. 9 is ablock diagram schematically illustrating one example of a configurationof a control system of a robot system 200A according to Modification 2of Embodiment 2.

In this modification, the robot system 200A is also further providedwith the informing part 204 similarly to Modification 1 of Embodiment 1.Moreover, in this modification, the system controller 3A is also furtherprovided with an informing part controlling module 2310 similarly toModification 1 of Embodiment 1. Note that, in FIG. 9, although therepulsive force setting module 350 is not illustrated, it may beincluded as a functional block.

When the informing part controlling module 2310 determines that thetarget position of the working end 11 a of the slave operating commandxs is located in the notifying range A3, it controls the informing part204 to inform it to the operator P. Thus, it can inform the operator Pabout the approaching to the limit of the operating range A1 (i.e., theboundary B).

Moreover, the informing part controlling module 2310 controls theinforming part 204 so that the intensity of the sense informationbecomes stronger as the distance between the target position of theworking end 11 a of the slave operating command xs and the boundary Bdecreases. Therefore, the operator P can be guided intelligibly aboutthe direction separating from the boundary B.

Note that, in Embodiment 2 and Modification 2, the operating range A1 isset for the working end 11 a, and is set as a range which permitsoperation of the working end 11 a in this range. The present disclosureis not limited to this configuration, but, alternatively, the operatingrange A1 may be set for the manipulation end 21 a and may be set as arange which permits operation of the manipulation end 21 a in thisrange. In this case, the system controller 3A controls the system toinform the operator P that the manipulation end 21 a approaches thelimit of the operating range A1.

Moreover, the operating range may be set for each of the working end 11a and the manipulation end 21 a. In this case, the system controller 3Amay control the system to inform the operator P at least either one ofthat the working end 11 a approaches the limit of that operating rangeor that the manipulation end 21 a approaches the limit of the operatingrange.

Moreover, in Embodiment 2 and Modification 2, the converting module 310calculates the target velocity vector vd based on the resultant force ofthe operating force fm, the reaction force fs, and the repulsive forcefr, by using Formula (3). The present disclosure is not limited to thisconfiguration, but, alternatively, the converting module 310 may changethe coefficient of viscosity cv of Formula (3) so that the magnitude ofthe coefficient of viscosity cv of Formula (3) becomes larger as thedistance between the target position of the working end 11 a of theslave operating command xs and the limit of the operating range A1decreases, without including the repulsive force fr in the resultantforce.

It is apparent for the person skilled in the art that many improvementsand other embodiments of the present disclosure are possible from theabove description. Therefore, the above description is to be interpretedonly as illustration, and it is provided in order to teach the personskilled in the art the best mode that implements the present disclosure.The details of the structures and/or the functions may be changedsubstantially, without departing from the present disclosure.

DESCRIPTION OF REFERENCE CHARACTERS

-   W Workpiece-   T Object-   P Operator-   1 Slave Unit-   2 Master Unit-   3, 3A System Controller-   11 a Working End-   11 Slave Arm-   12 Slave-side Force Detector-   13 Slave Arm Actuator-   14 Slave-side Controller-   21 Master Arm-   21 a Manipulation End-   22 Master-side Force Detector-   23 Master Arm Actuator-   24 Master-side Controller-   100, 100A, 200, 200A Robot System

1. A robot system, comprising: a slave unit including a slave arm havinga working end, a slave arm actuator configured to drive the slave arm,and a slave-side controller configured to control the slave arm actuatorbased on a slave operating command for defining a target position of theworking end; a master unit including a master arm having a manipulationend into which the content of manipulation is inputted by an operator;and a system controller including a slave operating command generatingmodule configured to generate the slave operating command based on thecontent of manipulation inputted into the manipulation end, wherein,when a command corresponding to the content of manipulation is a commandcorresponding to a limit equivalent range corresponding to a limit ofoperation of at least one of the slave arm and the master arm, thesystem controller performs processing to give perception to theoperator.
 2. The robot system of claim 1, wherein the slave unit furtherincludes a slave-side force detector configured to detect a directionand a magnitude of a reaction force acting on the working end or aworkpiece held by the working end, wherein the master unit furtherincludes: a master-side force detector configured to detect a directionand a magnitude of an operating force applied by the operator to themanipulation end as the content of manipulation; a master arm actuatorconfigured to drive the master arm; and a master-side controllerconfigured to control the master arm actuator based on a masteroperating command for defining a target position of the manipulationend, wherein the system controller generates, based on the operatingforce and the reaction force, the slave operating command and the masteroperating command for moving the manipulation end in a moving directioncorresponding to a moving direction of the working end of the slaveoperating command, and wherein, when the system controller determinesthat the magnitude of the operating force is included in a rangeexceeding a first threshold as the limit equivalent range, the systemcontroller generates the master operating command for moving themanipulation end in the direction of the operating force.
 3. The robotsystem of claim 2, wherein the system controller generates the masteroperating command for increasing a change in a moving velocity of themanipulation end as the operating force increases.
 4. The robot systemof claim 2, wherein the system controller includes: an operating modesetting module configured to set an operating mode to one of a pluralityof operating modes including a normal operating mode and an informingoperating mode; a slave operating command generating module configuredto generate the slave operating command based on the operating force andthe reaction force; a first temporary master operating commandgenerating module configured to generate a first temporary masteroperating command for moving the manipulation end in a moving directioncorresponding to a moving direction of the working end of the slaveoperating command based on the operating force and the reaction force; asecond temporary master operating command generating module configuredto generate a second temporary master operating command based on theoperating force; and a master operating command setting moduleconfigured to set the first temporary master operating command to themaster operating command in the normal operating mode, and set thesecond temporary master operating command to the master operatingcommand in the informing operating mode, wherein, when the operatingmode setting module determines that the magnitude of the operating forceis included in a range exceeding the first threshold, the operating modesetting module sets the operating mode to the informing operating mode.5. The robot system of claim 4, wherein the plurality of operating modesfurther include a resuming operating mode, wherein the system controllerfurther includes a third temporary master operating command generatingmodule configured to generate a third temporary master operating commandfor moving the manipulation end toward the target position of themanipulation end defined by the first temporary master operatingcommand, wherein the master operating command setting module furthersets the third temporary master operating command to the masteroperating command in the resuming operating mode, and wherein, when theoperating mode setting module determines that the magnitude of theoperating force is included in a range of a second threshold or below ina state where the operating mode is set to the informing operating mode,the operating mode setting module sets the operating mode to theresuming operating mode.
 6. The robot system of claim 5, wherein, whenthe operating mode setting module determines that the manipulation endis located at the target position of the first temporary masteroperating command in a state where the operating mode is set to theresuming operating mode, the operating mode setting module sets theoperating mode to the normal operating mode.
 7. The robot system ofclaim 4, wherein the system controller includes a converting moduleconfigured to calculate a target velocity vector based on the operatingforce and the reaction force, and a subconverting module configured tocalculate a temporary target velocity vector based on the operatingforce, wherein the slave operating command generating module generatesthe slave operating command based on the target velocity vector, whereinthe first temporary master operating command generating module generatesthe first temporary master operating command based on the targetvelocity vector, and wherein the second temporary master operatingcommand generating module generates the second temporary masteroperating command based on the temporary target velocity vector.
 8. Therobot system of claim 1, further comprising an informing part configuredto perform a notification by using sense information perceivable by theoperator's perception, wherein the master unit further includes amaster-side force detector configured to detect a direction and amagnitude of an operating force applied by the operator to themanipulation end as the content of manipulation, and wherein, when thesystem controller determines that the magnitude of the operating forceis included in a range exceeding a third threshold as the limitequivalent range, the system controller controls the informing part toperform the notification to the operator.
 9. The robot system of claim8, wherein the system controller controls the informing part so that anintensity of the sense information becomes stronger as the operatingforce becomes larger.
 10. The robot system of claim 1, furthercomprising an informing part configured to perform a notification byusing sense information perceivable by the operator's perception,wherein, when the system controller determines that the target positionof the working end of the slave operating command is located in anotifying range as the limit equivalent range, that is a range spreadingfrom a limit of a given operating range to the operating range side, thesystem controller controls the informing part to perform thenotification to the operator.
 11. The robot system of claim 10, whereinthe system controller controls the informing part so that an intensityof the sense information becomes stronger as a distance between thetarget position of the working end of the slave operating command andthe limit of the operating range becomes smaller.
 12. The robot systemof claim 1, wherein the slave unit further includes a slave-side forcedetector configured to detect a direction and a magnitude of a reactionforce acting on the working end or a workpiece held by the working end,wherein the master unit further includes: a master-side force detectorconfigured to detect a direction and a magnitude of an operating forceapplied by the operator to the manipulation end as the content ofmanipulation; a master arm actuator configured to drive the master arm;and a master-side controller configured to control the master armactuator based on a master operating command, wherein the systemcontroller generates, at every given control period, the slave operatingcommand for defining the target position of the working end and themaster operating command for defining a target position of themanipulation end so that the target position of the slave operatingcommand and the target position of the master operating command have agiven correlation, and wherein, when the system controller determinesthat the target position of the working end of the slave operatingcommand is located in a notifying range as the limit equivalent rangethat is a range spreading from a limit of a given operating range to theoperating range side, the system controller generates the masteroperating command to change the operation of the manipulation end. 13.The robot system of claim 12, wherein, when the system controllerdetermines that the target position of the working end of the slaveoperating command is located in the notifying range, the systemcontroller sets a repulsive force acting on the working end in adirection separating from the limit of the operating range, andgenerates the master operating command based on a resultant force of theoperating force, the reaction force, and the repulsive force in asubsequent control period.
 14. The robot system of claim 13, wherein thesystem controller sets the repulsive force so that a magnitude of therepulsive force becomes larger as a distance between the target positionof the working end of the slave operating command and the limit of theoperating range becomes smaller.
 15. The robot system of claim 13,wherein the system controller further includes: a notifying rangesetting module configured to set the notifying range; a repulsive forcesetting module configured to set the repulsive force, when the repulsiveforce setting module determines that the target position of the workingend of the slave operating command is located in the notifying range; aconverting module configured to calculate a target velocity vector basedon a resultant force of the operating force, the reaction force, and therepulsive force; a slave operating command generating module configuredto generate the slave operating command based on the target velocityvector; and a master operating command generating module configured togenerate the master operating command based on the target velocityvector.
 16. A method of controlling a robot system provided with a slavearm and a master arm, comprising the steps of: outputting a slaveoperating command for defining a target position of a working end of theslave arm to a slave-side controller configured to control an actuatorof the slave arm based on the slave operating command, based on thecontent of manipulation inputted into a manipulation end of the masterarm; and when the command generated corresponding to the content ofmanipulation is a command corresponding to a limit equivalent rangecorresponding to a limit of operation of at least one of the slave armand the master arm, performing processing for giving perception to anoperator who inputs the content of manipulation into the manipulationend.
 17. The method of claim 16, further comprising the steps of:receiving a detected result of a direction and a magnitude of a reactionforce acting on the working end or a workpiece held by the working end;receiving a detected result of a direction and a magnitude of anoperating force applied by the operator to the manipulation end, as thecontent of manipulation; determining the target position of the workingend based on the detected operating force and reaction force;determining a target position of the manipulation end based on thedetected operating force and reaction force; and outputting a masteroperating command for defining the target position of the manipulationend to a master-side controller configured to control an actuator of themaster arm based on the master operating command, wherein, whendetermined that the magnitude of the operating force is not included ina range exceeding a first threshold as the limit equivalent range, thetarget position of the manipulation end is determined as a positioncorresponding to the position of the working end, and wherein, whendetermined that the magnitude of the operating force is included in arange exceeding the first threshold, the target position of themanipulation end is determined as a position moved in the direction ofthe operating force from a position corresponding to the position of theworking end.
 18. The method of claim 16, further comprising the step ofsetting a notifying range spreading from a limit of a given operatingrange to the operating range side as the limit equivalent range,wherein, when determined that the target position of the working end ofthe slave operating command is located in the notifying range, a commandfor performing a notification using sense information perceivable by theoperator's perception is outputted.
 19. The method of claim 16, furthercomprising the steps of: receiving a detected result of a direction anda magnitude of a reaction force acting on the working end or a workpieceheld by the working end; receiving a detected result of a direction anda magnitude of an operating force applied by the operator to themanipulation end, as the content of manipulation; determining the targetposition of the working end based on the detected operating force andreaction force; determining a target position of the manipulation endbased on the detected operating force and reaction force; outputting amaster operating command for defining the target position of themanipulation end to a master-side controller configured to control anactuator of the master arm based on the master operating command; andsetting a notifying range spreading from a limit of a given operatingrange to the operating range side as the limit equivalent range, whereinthe target position of the working end is determined based on aresultant force of the operating force and the reaction force detectedat every given control period, wherein, when determined that the targetposition of the working end is located in the notifying range, arepulsive force acting on the working end in a direction separating fromthe limit of the operating range is set, wherein a next target positionof the manipulation end is determined based on a resultant force of theoperating force, the reaction force, and the repulsive force, andwherein the master operating command for causing the actuator of themaster arm to locate the manipulation end at the next target position isoutputted in a subsequent control period.